<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    (function () {
        class Dingyue {
            constructor() {
                this.obj = {}
            }
            ding(type, hander) {
                if(this.obj[type]){
                    this.obj[type]
                }else{
                    this.obj[type]=[]
                }
                // this.obj[type] = this.obj[type] || [];
                this.obj[type].push(hander);
            }
            fa(type, msg) {
                if (this.obj[type]) {
                    this.obj[type].forEach((item) => {
                        item(msg);
                    })
                }
            }
        }

        window.moshi = Dingyue
    })()
    var t = new moshi()
    t.ding('lijiaqi', function (msg) { console.log('李三 收到了来自lijiaqi的消息: ' + msg) })
    t.ding('lijiaqi', function (msg) { console.log('李四 收到了来自lijiaqi的消息: ' + msg) })
    t.ding('lijiaqi', function (msg) { console.log('李五 收到了来自lijiaqi的消息: ' + msg) })
    t.ding('lijia', function (msg) { console.log('李六 收到了来自lijia的消息: ' + msg) })
    t.ding('lijia', function (msg) { console.log('李七 收到了来自lijia的消息: ' + msg) })
    t.fa('lijia', '本周六补课!')
</script>